#pragma once
#include "igamestate.h"
#include "../SGD Wrappers/SGD_Math.h"
#include "../SGD Wrappers/CSGD_Direct3D.h"
#include "../SGD Wrappers/CSGD_TextureManager.h"
#include "../SGD Wrappers/CSGD_DirectInput.h"
#include "../SGD Wrappers/CSGD_XAudio2.h"
#include "../Bitmap Font/BitmapFont.h"

class CMainMenuState : public IGameState
{

public:
	static CMainMenuState* GetInstance(void);

//IGameState Interface======================
	virtual void Enter(void);
	virtual void Update(float fElapsedTime);
	virtual void Exit(void);
	virtual void Render(void);
	virtual bool Input(void);
//==========================================

private:
//trilogy of evil===========================
	CMainMenuState(void);
	virtual ~CMainMenuState(void);
	CMainMenuState(const CMainMenuState&);
	CMainMenuState& operator=(const CMainMenuState&);

	CSGD_Direct3D*			m_pD3D;
	CSGD_TextureManager*	m_pTM;
	CSGD_DirectInput*		m_pDI;
	CSGD_XAudio2*			m_pXA;

//IMAGES
	int						m_nBackGroundImgID;
	int						m_nMenuCursor;
	int						m_nOptionsLogoOff;
	int						m_nOptionsLogoOn;
	int						m_nHighScoreLogoOff;
	int						m_nHighScoreLogoOn;
	int						m_nLoadLogoOff;
	int						m_nLoadLogoOn;
	int						m_nHowToPlayOff;
	int						m_nHowToPlayOn;
	int						m_nPlay;
	int						m_nButton;
	int						m_nExit;
	int						m_nArrows;

//SOUND
	int						m_nBackGroundSfxID;
	int						m_nBackGroundMusicID;
	int						m_nCursorMove;
};